type NonNullableProps = string | number | null | undefined
type NonNullableResult = NonNullable<NonNullableProps>
// 等价于：
// type NonNullableResult = string | number

// 原理
type MadeNonNullable<T> = T extends null | undefined ? never : T
